Hadoop: 安装过程复盘

本文档的内容是整理 Hadoop 生态环境安装过程中遇到的问题复盘.

HDFS 启动后 DataNode 报 Hostname 错误

安装的环境:

  • 操作系统: Ubuntu 20.04
  • Hadoop 版本: 3.3.5
  • Hadoop 安装模式: 4 个 Datanode 节点的分布式环境

相关的网络配置 /etc/hosts/etc/hostname 配置都已经确定是安装良好,但是启动 HDFS 时(使用命令为 start-dfs.sh) 时出现以下错误:

1
2
3
4
Starting datanodes
: hostname contains invalid characters
: hostname contains invalid characters
: hostname contains invalid characters

NameNode 节点和 SecondaryNameNode 节点启动正常,其中有一个 DataNode 正常启动。

解决过程思路

  1. 网络配置错误
    最开始判断是网络配置错误,将环境中的 /etc/hosts/etc/hostname 修改及验证没有问题后还是出现上面的错误日志。

  2. 环境不兼容的问题
    判断可能是环境不兼容的问题,尝试用一个服务器配置 Namenode、SecondaryNameNode、ResourceManager、NodeManager。这种方案验证了所有服务都可以正常启动,说明系统不存在兼容和配置问题。重新安装服务器进行配置后还是出现同样的问题

  3. 修改 workers 配置问题
    最后发现一个情况,在 workers 中的最后一个 DataNode 的节点是正常启动,另外打印的日志信息显示的也是 hostname 存在不规范字符,由此判断可能是 workers 配置方式存在问题。需要说明配置 workers 按照一般方案进行配置的。
    最后进行多个尝试,发现需要将 workers前面几个节点后加上空格,那么就可以解决该问题。

Web 端不能预览文件

在 web 端浏览 hdfs 文件显示 Couldn't preview the file. NetworkError: Failed to execute 'send' on 'XMLHttpRequest': Failed to load 'http://hadoop1:9864/webhdfs/v1/test.txt?op=OPEN&namenoderpcaddress=hadoop1:9000&offset=0&_=1713401560620'. 信息。原因是服务端没有配置 hosts 信息,导致 hadoop1 这些 hostname 没有被解析到.

  1. 解决方案是在客户端配置上 hosts,如果是在 Windows 上需要修改 C:\Windows\System32\drivers\etc 中的 hosts 文件

    • Windows 11 是在 hosts.ics 文件添加主机映射信息
    • Windows 10 以前是 hosts 文件
  2. 另外需要检查 hadoop 的配置文件 hdfs-site.xml 中是否设置 dfs.webhdfs.enabledtrue

作者

ZenRay

发布于

2024-04-17

更新于

2024-04-18

许可协议

CC BY-NC-SA 4.0